package com.tedu.api.io;

import com.sun.deploy.cache.CachedJarFile;
import org.junit.Test;

import javax.sound.sampled.Line;
import java.io.*;

/**
 * 标准流；io流处理异常对象
 *
 *高级流；BufferedOutputStream  缓冲输出流   写  box.txt
 *        BufferedOutputStream  缓冲输入流
 *
 */


public class IOSAPI {

 //   private static final CachedJarFile PW = ;

    /**
     * 缓冲输入流   ；构造器
     */
    @Test
    public void testBIS() throws FileNotFoundException{

    //创建低级流
    FileInputStream fis =
            new FileInputStream("box.txt");
    BufferedInputStream bos =
            new BufferedInputStream(fis);

    /**
     * 接受输出字符串
     */
    String line = null;
//() 判断条件  文本中一直有内容，一直读  一行文本
        while((line =br.readLine())!=null)

    {
        System.out.println("打印到字符串；" + line);
    }


    String line = br.readLine();


       System.out.println("打印读字符串"+line);


}
/**
 *
 * 作业2   读取Iosapi.java 文件---所有代码---写到控制台
 **/
        @Test
        public void testHomeWork2 () throws IOException {
            //1.创建低级流---读入--找IOSAPI.java     代表路径File.separator
//路径：src\main\java\com\tedu\api\io\IOSAPI.java
            FileInputStream fis=new FileInputStream("src" + File.separator + "main" +
                    File.separator + "java" + File.separator + "com" + File.separator +
                    "tedu" + File.separator + "api" + File.separator + "io" + File.separator +
                    "IOSAPI.java");

//2.创建高级流---读入内容是文本---转换流--无法读取文本【int】
            InputStreamReader isr=new InputStreamReader(fis);
//3.创建高级流---缓冲输入流---读取文本
            BufferedReader br=new BufferedReader(isr);
//4.创建变量：字符串类型--保存每次读取的一行文本
            String line=null; //null代表没有内容【等同于换行】
//5.一直读入：每行文本保存line中，如果line不为null，一直读
            while((line=br.readLine())!=null){
                System.out.println("打印读到字符串："+line);
            }
//6.关闭流


        }


/**
 * 高级流；
 * Bufferedwriter----低配版本 输出流 【缓冲输出流】
 * printwriter----高配版本输出流【字符输出流】
 * 1.0  高级流不呢直接创建
 * 写出文件  pw.txt  ---温本内容  需要只顶编码级；utf8
 */
@Test
public void testPW() throws FileNotFoundException, UnsupportedEncodingException {
  //低级流；输出流
   FileOutputStream fos=new FileOutputStream("pw.txt")
   //高级流 ；转换流，功能  指定编码级


    //创建高价流;低级流；输出流+转换流+缓冲流








    PrintWriter pw =new PrintWriter( "PW.txt","UTF8"      );
   // 写出功能    print()   打印一行文本  不换行
    //         println   ()   打印一行文本 换行
    pw.print("nijiaushi1");
    pw.println("DDWWD");
    pw.close();
}



}





